package pub.xspace.nova.system.mapper;

import java.util.List;

import org.apache.ibatis.annotations.Mapper;

import pub.xspace.nova.system.domain.SysUser;

/**
 * 用户管理 Mapper接口
 * 
 * @author HeJianrong
 */
@Mapper
public interface SysUserMapper {
	
	/**
	 * 根据ID查找用户记录
	 * @param id 用户id
	 * @return
	 */
	SysUser selectById(String id);
	
	/**
	 * 根据用户名查找用户记录
	 * @param username 用户名（账号）
	 * @return
	 */
	SysUser selectByUsername(String username);

	/**
	 * 查询所有的用户记录列表
	 * @param sysUser 过滤条件
	 * @return
	 */
	List<SysUser> selectByParams(SysUser sysUser);

	/**
	 * 插入用户记录
	 * 
	 * @param sysUser
	 */
	int insert(SysUser sysUser);

	/**
	 * 根据ID更新用户记录
	 * 
	 * @param sysUser 需要更新的用户记录
	 * @return
	 */
	int updateById(SysUser sysUser);

	/**
	 * 根据ID更新用户的密码
	 * 
	 * @param sysUser 需要更新密码的用户对象
	 * @return
	 */
	int updatePasswordById(SysUser sysUser);

	/**
	 * 根据ID删除用户记录
	 * 
	 * @param id 需要删除的用户id
	 * @return
	 */
	int deleteById(String id);

	/**
	 * 批量删除用户记录
	 * 
	 * @param ids
	 * @return
	 */
	int deleteByIds(List<String> ids);
}
